﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace RecursosHumanos_
{
    class Valor
    {
        public int idValor { get; set; }
        public DateTime referencia { get; set; }
        public decimal valor { get; set; }

        public Valor()
        {
            referencia = new DateTime();
        }
    }

    class IngressoValor : Valor
    {
        
    }
    
    class Genero : BasicaComDescricao
    {
        
    }

    class Filme
    {
        public int idFilme { get; set; }
        public string tituloNativo { get; set; }
        public string tituloOriginal { get; set; }
        public Genero genero { get; set; }
        public int classificacao { get; set; }
        public TimeSpan duracao { get; set; }
        public Bitmap cartaz { get; set; }

        public Filme()
        {
            genero = new Genero();
            duracao = new TimeSpan();
            cartaz = new Bitmap(0, 0);
        }
    }

    class Sala
    {
        public int numero { get; set; }
        public int numAcentos { get; set; }
    }

    class Sessao
    {
        public Sala sala { get; set; }
        public Filme filme { get; set; }
        public DateTime apresentacao { get; set; }

        public Sessao()
        {
            sala = new Sala();
            filme = new Filme();
            apresentacao = new DateTime();
        }
    }

    class DescontoTaxa
    {
        public int idDescontoTaxa { get; set; }
        public string descricao { get; set; }
        public bool desconto { get; set; }       //(0)desconto ou (1)taxa
        public bool modoCalculo { get; set; }    //(0)percentual ou (1)valor absoluto
        public decimal valor { get; set; }
    }

    class IngressoTipo
    {
        public int idIngressoTipo { get; set; }
        public string descricao { get; set; }
        public DescontoTaxa desconto_Taxa { get; set; }
    }

    class Ingresso
    {
        public Sessao sessao { get; set; }
        public Cliente cliente { get; set; }
        public Funcionario funcionario { get; set; }
        public DateTime dataCompra { get; set; }
        public IngressoTipo tipo { get; set; }

        public Ingresso()
        {
            sessao = new Sessao();
            cliente = new Cliente();
            funcionario = new Funcionario();
            dataCompra = new DateTime();
        }
    }
}
